10 REM ******************************** 20 REM ******** 1670 AUTODIAL ********* 30 REM ******************************** 40 REM ************* BY *************** 50 REM ******************************** 60 REM ******** DAVID BRADLEY ********* 70 REM ******************************** 80 : 90 OPEN2,2,0,CHR$(6)+CHR$(0) 100 REM OPEN15,9,15,"S0:1670 AUTODIAL":CLOSE15:SAVE"1670 AUTODIAL",9 110 PRINT#2,"[193][212][214]0" 120 : 130 REM ********************* 140 REM *** VARIABLE LIST *** 150 REM ********************* 160 : 170 REM A$ = INPUT FROM MODEM 180 REM ER = MODEM NO RESPOND TIME-OUT 190 REM L = SOUND ROUTINE COUNTER 200 REM S = SID REFERENCE VALUE 210 REM XX = TIME DELAY 220 REM AB = ABORT CHECK 230 REM AB$ = ABORT GET 240 REM I = TIME DELAY/MISC COUNTER 250 REM G$ = YES/NO 260 REM NU$ = NUMBER TO DIAL 270 REM MS$ = MODEM STATUS 280 REM NA = NUMBER OF ATTEMPTS 281 REM PT$ = PULSE OR TONE 282 REM PT = PULSE OR TONE 290 : 300 REM ************* 310 REM *** SETUP *** 320 REM ************* 330 : 340 PRINT"[147]" 350 PRINTCHR$(14),CHR$(8) 360 XX=0 370 A$="" 380 AB$="" 390 ER=0 400 G$="" 410 I=0 420 L=0 430 S=0 440 NU$="" 450 MS$="" 460 NA=1 470 AB=0 480 POKE53280,0 490 POKE53281,0 500 PRINT"" 510 : 520 REM ************* 530 REM *** START *** 540 REM ************* 550 : 560 XX=250:POKE808,225:GOSUB1260:IFPT$=""THENGOSUB1650 570 PRINT" 1670 [193]UTODIAL [194]Y [196]AVID [194]RADLEY" 580 PRINT" ------------------------------" 590 PRINT"([208]RESS [210][197][212][213][210][206] [212]O [209]UIT)" 600 PRINT"[201][206][208][213][212] [206]UMBER [212]O ";PT$;" [196]IAL*[157][157][157]"; 610 INPUT NU$ 620 FORI=1TOLEN(NU$) 630 IFMID$(NU$,I,1)="#"THEN675 640 IFMID$(NU$,I,1)="*"THEN675 650 IFMID$(NU$,I,1)="-"THEN675 660 IFASC(MID$(NU$,I,1))>57THEN690 670 IFASC(MID$(NU$,I,1))<48THEN690 675 NEXTI 680 GOTO700 690 GOSUB1340:PRINT"[197]RROR [201]N [206]UMBER [201]NPUT...[210]E-[197]NTER.":XX=1000:GOSUB1260:GOTO340 700 IF NU$="*"THENPRINT"[209]UIT? ([217]/[206]) ":GOTO720 710 GOTO760 720 GETG$ 730 IFG$=""THEN720 740 IFG$="Y"THENPRINT"[147]":END 750 GOTO340 760 IFLEN(NU$)<7THENGOTO850 770 IFLEN(NU$)>30THENGOTO790 780 GOTO920 790 GOSUB1340:PRINT"";NU$:PRINT"[201]S [193] [194]IT [204]ONG " 800 PRINT"[196]IAL [193]NYWAY?" 810 GETG$ 820 IF G$=""THEN810 830 IF G$<>"Y"THENPRINT"[147]":GOTO570 840 GOTO920 850 GOSUB1340:PRINT"";NU$;" [201]S [204]ESS [212]HAN 7 [196]IGITS!" 860 XX=500:GOSUB1260 870 PRINT"[196]IAL [193]NYWAY?" 880 GETG$ 890 IF G$=""THEN880 900 IF G$<>"Y"THENPRINT"[147]":GOTO570 910 IFAB=1THENGOTO1130 920 PRINT"[196]IALING ";NU$;" [193]TTEMPT [206]UMBER:";NA 930 PRINT"[212]O [193]BORT [196]IALING [207]PERATION [208]RESS [193]NY [203]EY" 940 PRINT" [193]ND [215]AIT " 950 PRINT"" 955 IFPT<>0THEN965 960 PRINT#2,"[193][212][196][212]";NU$ 965 PRINT#2,"[193][212][196][208]";NU$ 970 NA=NA+1 980 GET#2,A$ 990 GETAB$:IFAB$<>""THENAB=1 1000 ER=ER+1 1010 IFER>2500THENMS$="":PRINT"[206][207] [195][193][210][210][201][197][210]":ER=0:XX=500:GOSUB1260:GOTO910 1020 IFA$=""THEN980 1030 MS$=MS$+A$ 1040 IFA$=CHR$(102)THEN1120 1050 IFA$=CHR$(179)THEN1120 1060 IFA$=CHR$(177)THEN1190 1070 IFA$=CHR$(98)THEN1190 1080 GETAB$:IFAB$<>""THENAB=1 1090 ER=ER+1 1100 IFER>2500THENMS$="":PRINT"[206][207] [195][193][210][210][201][197][210]":ER=0:XX=500:GOSUB1260:GOTO910 1110 GOTO980 1120 PRINT"[206][207] [195][193][210][210][201][197][210]":MS$="" 1130 IFAB=1THENAB=0:PRINT"*** [193]BORTING ***":XX=1500:GOSUB1260:GOTO340 1140 XX=500:GOSUB1260 1150 PRINT" " 1160 PRINT"[196]IALING ";NU$;" [193]TTEMPT [206]UMBER:";NA;"" 1170 ER=0 1180 GOTO960 1190 PRINT"[195][207][206][206][197][195][212]":NA=0:MS$="":GOSUB1340 1200 PRINT CHR$(142) 1201 PRINT"[147] LOADING MODEM BATTLESHIP[144]" 1203 P$="MODEM BATTLESHIP" 1205 PRINT"":PRINT:PRINT:PRINT"LOAD";CHR$(34);P$;CHR$(34);",8,1" 1210 PRINTCHR$(19):POKE631,13:POKE198,1 1220 END 1230 REM ***************************** 1240 REM *** TIME DELAY SUBROUTINE *** 1250 REM ***************************** 1260 FORI=1TOXX 1270 NEXTI 1280 RETURN 1290 : 1300 REM ***************************** 1310 REM *** ALARM/BELL SUBROUTINE *** 1320 REM ***************************** 1330 : 1340 S=54272 1350 FORL=0TO24 1360 POKES+L,0 1370 NEXTL 1380 POKES+1,100 1390 POKES+5,10 1400 POKES+15,255 1410 POKES+24,15 1420 POKES+4,21 1430 GOSUB1550 1440 XX=500:GOSUB1260 1450 POKES+24,0 1460 FORL=0TO24 1470 POKES+L,0 1480 NEXTL 1490 RETURN 1500 : 1510 REM ***************************** 1520 REM *** SCREEN BLANKING *** 1530 REM ***************************** 1540 : 1550 POKE53265,100 1560 XX=250:GOSUB1260 1570 POKE53265,27 1580 XX=250:GOSUB1260 1590 RETURN 1600 : 1610 REM ***************** 1620 REM * PULSE OR TONE * 1630 REM ***************** 1640 : 1650 PRINT"[215]OULD [217]OU [204]IKE [212]O [196]IAL [208][146]ULSE OR [212][146]ONE?" 1660 GETPT$:IFPT$=""THEN1660 1670 IFPT$<>"P"ANDPT$<>"T"THEN1650 1680 IFPT$="T"THENPT=0:PT$="[212]ONE" 1690 IFPT$="P"THENPT=1:PT$="[208]ULSE" 1700 PRINT"[147]" 1710 RETURN